import java.util.Scanner;

public class PlantillaConductors {

	public static int Conductors=0;
	Scanner t = new Scanner(System.in);
	static Conductor[] c=new Conductor[25];	//Creo un vector de conductors
	
	public boolean AfegirConductor(){
		String dni, nom;
		//demanar les dades
		System.out.println("\nINtrodueix un conductor.\n\tDNI:");
		dni=t.next();
		//Comprovar el dni
		if (!comprovaDNI(dni)) {
			System.out.println("El dni es incorecte");
			return false;
		}
		//Comprova que hi hagin conductors creats si no no fa res
		if (Conductors!=0){
			//Si hi han comprova que no existeix el dni
			for (int i=0;i<Conductors;i++){
				if (dni.compareToIgnoreCase(c[i].dni)==0){
					System.out.println("El dni ja existeix");
					return false;
				}
			}
		}
		System.out.println("\n\tNom:");
		nom=t.next();
		//Crea el conductor
		c[Conductors] = new Conductor(dni,nom);
		//Prepara per a crear el seguent
		Conductors++;
		return true;
	}

	
	
	public boolean comprovaDNI(String dni){
		int DNI;
		//Comprova que tingui 9 digit
		if (dni.length()!=9 ) return false;
		//Converteix es 8 primers caracter a 1 sol enter
		DNI=(int)dni.charAt(0)-48;
		for (int i=1;i<dni.length()-1;i++) DNI=DNI*10+((int)dni.charAt(i)-48);
		//Calcula la resta
		DNI=DNI%23;
		//Comprova que la lletra sigui correcta
		switch(DNI){
			case 0:
				if (dni.charAt(8)=='T' || dni.charAt(8)=='t') return true; else return false;
			case 1:
				if (dni.charAt(8)=='R' || dni.charAt(8)=='r') return true; else return false;
			case 2:
				if (dni.charAt(8)=='W' || dni.charAt(8)=='w') return true; else return false;
			case 3:
				if (dni.charAt(8)=='A' || dni.charAt(8)=='a') return true; else return false;
			case 4:
				if (dni.charAt(8)=='G' || dni.charAt(8)=='g') return true; else return false;
			case 5:
				if (dni.charAt(8)=='M' || dni.charAt(8)=='m') return true; else return false;
			case 6:
				if (dni.charAt(8)=='Y' || dni.charAt(8)=='y') return true; else return false;
			case 7:
				if (dni.charAt(8)=='F' || dni.charAt(8)=='f') return true; else return false;
			case 8:
				if (dni.charAt(8)=='P' || dni.charAt(8)=='p') return true; else return false;
			case 9:
				if (dni.charAt(8)=='D' || dni.charAt(8)=='d') return true; else return false;
			case 10:
				if (dni.charAt(8)=='X' || dni.charAt(8)=='x') return true; else return false;
			case 11:
				if (dni.charAt(8)=='B' || dni.charAt(8)=='b') return true; else return false;
			case 12:
				if (dni.charAt(8)=='N' || dni.charAt(8)=='n') return true; else return false;
			case 13:
				if (dni.charAt(8)=='J' || dni.charAt(8)=='j') return true; else return false;
			case 14:
				if (dni.charAt(8)=='Z' || dni.charAt(8)=='z') return true; else return false;
			case 15:
				if (dni.charAt(8)=='S' || dni.charAt(8)=='s') return true; else return false;
			case 16:
				if (dni.charAt(8)=='Q' || dni.charAt(8)=='q') return true; else return false;
			case 17:
				if (dni.charAt(8)=='V' || dni.charAt(8)=='v') return true; else return false;
			case 18:
				if (dni.charAt(8)=='h' || dni.charAt(8)=='h') return true; else return false;
			case 19:
				if (dni.charAt(8)=='L' || dni.charAt(8)=='l') return true; else return false;
			case 20:
				if (dni.charAt(8)=='C' || dni.charAt(8)=='c') return true; else return false;
			case 21:
				if (dni.charAt(8)=='K' || dni.charAt(8)=='k') return true; else return false;
			case 22:
				if (dni.charAt(8)=='E' || dni.charAt(8)=='e') return true; else return false;
			default:
				return false;
		}
		
	}

}